package com.openlogic.common.logic.func.enums;

/**
 * @ClassName: FuncLibMethodsEnums
 * @Description: 函数库方法枚举
 * @author weiyongpeng
 * @date 2024年7月25日 下午3:40:26
 */
public enum FuncLibMethodsEnums {

	// aviator内置数学函数
	AVIATOR_MATH("math", "内置数学函数库"), AVIATOR_MATH_ABS("math.abs", "内置绝对值函数"),
	AVIATOR_MATH_ROUND("math.round", "内置四舍五入函数"), AVIATOR_MATH_FLOOR("math.floor", "内置向下取整函数"),
	AVIATOR_MATH_CEIL("math.ceil", "内置向上取整函数"), AVIATOR_MATH_SQRT("math.sqrt", "内置平方根函数"),
	AVIATOR_MATH_POW("math.pow", "内置次方函数"), AVIATOR_MATH_LOG("math.log", "内置自然对数函数"),
	AVIATOR_MATH_LOG10("math.log10", "内置以10为底的对数函数"), AVIATOR_MATH_SIN("math.sin", "内置正弦函数"),
	AVIATOR_MATH_COS("math.cos", "内置余弦函数"), AVIATOR_MATH_TAN("math.tan", "内置正切函数"),
	AVIATOR_MATH_ATAN("math.atan", "内置反正切函数"), AVIATOR_MATH_ACOS("math.acos", "内置反余弦函数"),
	AVIATOR_MATH_ASIN("math.asin", "内置反正弦函数"),
	// 自定义数学函数
	CUS_MATH("cus_math", "内置数学函数库"), CUS_MATH_ADD("cus_math.add", "内置新增函数"), CUS_MATH_SUB("cus_math.sub", "内置减法函数"),
	CUS_MATH_MUL("cus_math.mul", "内置乘法函数"), CUS_MATH_DIV("cus_math.div", "内置除法函数"),
	CUS_MATH_DIVBYSCALE("cus_math.divByScale", "内置除法2函数"), CUS_MATH_MOD("cus_math.mod", "内置取余函数"),
	CUS_MATH_ROUND("cus_math.round", "内置四舍五入函数"), CUS_MATH_ROUNDUP("cus_math.roundUp", "内置四舍五入上函数"),
	CUS_MATH_ROUNDDOWN("cus_math.roundDown", "内置四舍五入下函数"), CUS_MATH_AVERAGE("cus_math.average", "内置均值函数"),

	CUS_STATIS("cus_statis", "内置统计函数库"), CUS_STATIS_VARIANCE("cus_statis.getVariance", "内置方差函数"),
	CUS_STATIS_POPULATION_VARIANCE("cus_statis.getPopulationVariance", "内置总体差函数"),
	CUS_STATIS_STANDARD_DIVIATION("cus_statis.getStandardDiviation", "内置标准差函数"),
	CUS_STATIS_MEDIAN("cus_statis.median", "内置中位数函数"),

	CUS_COLLECTION("cus_collect", "内置集合函数库"), CUS_COLLECTION_CONTAINS("cus_collect.contains", "内置集合包含函数"),
	CUS_COLLECTION_NOTCONTAINS("cus_collect.notcontains", "内置集合不包含函数"),
	CUS_COLLECTION_TO_LIST("cus_collect.toList", "内置List集合转化函数"),
	CUS_COLLECTION_TO_SET("cus_collect.toSet", "内置Set集合转化函数"), CUS_COLLECTION_TO_MAP("cus_collect.toMap", "内置Map转化函数"),
	CUS_COLLECTION_ADD("cus_collect.add", "内置集合添加函数"), CUS_COLLECTION_REMOVE("cus_collect.removeByIndex", "内置集合删除函数"),
	CUS_COLLECTION_DISTINCT("cus_collect.distinct", "内置集合去重函数"),
	CUS_COLLECTION_CONCAT("cus_collect.concat", "内置集合拼接函数"),

	CUS_STRING("cus_string", "内置字符函数库"), CUS_STRING_CONCAT("cus_string.concat", "内置字符拼接函数"),
	CUS_STRING_CONCATENAT("cus_string.concatenat", "内置字符拼接函数"), CUS_STRING_LEFTSTR("cus_string.leftStr", "内置函数"),
	CUS_STRING_RIGHTSTR("cus_string.rightStr", "内置除法函数"), CUS_STRING_LOWER("cus_string.lower", "内置除法函数"),
	CUS_STRING_UPPER("cus_string.upper", "内置取余函数"), CUS_STRING_REPLACE("cus_string.replace", "内置四舍五入函数"),
	CUS_STRING_REPLACEPLUS("cus_string.replacePlus", "内置四舍五入上函数"), CUS_STRING_LEN("cus_string.len", "内置四舍五入下函数"),
	CUS_STRING_REVERSE("cus_string.reverse", "内置均值函数");

	private String code;
	private String desc;

	private FuncLibMethodsEnums(String code, String desc) {
		this.code = code;
		this.desc = desc;
	}

	private FuncLibMethodsEnums() {
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getDesc() {
		return desc;
	}

	public void setDesc(String desc) {
		this.desc = desc;
	}

}
